@局外人
2年前 提问
1个回答
安卓安全平台模型提供哪些安全机制
趣能一姐
2年前
安卓安全平台模型提供以下安全机制:
进程沙箱隔离机制:安卓应用程序在安装时被赋予独特的用户标识(UID),并永久保持。应用程序及其运行的Dalvik虚拟机运行于独立的Linux进程空间,与UID不同的应用程序完全隔离。
应用程序签名机制:应用程序包(.apk文件)必须被开发者数字签名。同一开发者可指定不同的应用程序共享UID,进而运行于同一进程空间,共享资源。
权限声明机制:应用程序需要显式声明权限、名称、权限组与保护级别。不同的级别要求应用程序行使此权限时的认证方式不同:Normal级申请即可用。Dangerous级需在安装时由用户确认才可用。签名与签名系统则必须是系统用户才可用。
访问控制机制:传统的Linux访问控制机制确保系统文件与用户数据不受非法访问。
进程通信机制:Binder进程通信机制提供基于共享内存的高效进程通信。Binder基于CS模式,提供类似COM与CORBA的轻量级远程进程调用(RPC)。通过接口描述语言(AIDL)定义接口与交换数据的类型,确保进程间通信的数据不会溢出越界,污染进程空间。
内存管理机制:基于标准Linux的低内存管理机制(OOM),设计实现了独特的低内存清理(LMK)机制,将进程按重要性分级、分组,当内存不足时,自动清理最低级别进程所占用的内存空间。同时,引入不同于传统Linux共享内存机制的安卓共享内存机制Ashmem,具备清理不再使用共享内存区域的能力。